This structure abstracts a QMI service. It is responsible issuing transaction IDs. It tracks QMI requests and responses using transaction objects from a pool. It invokes a user callback when QMI indications which match its client ID (or a broadcast ID) are received from the transport layer.
- Parameters
-
| pNext |
- A link so we can store this object in a linked list by the transport layer.
|
| serviceType |
- QMI service type, CTL, NAS, etc.
|
| clientId |
|
| pTransport |
- Pointer to underlying QMUX transport object.
|
| transactionId |
- QMI transaction ID. Upper limit 0xffff for regular QMI services, 0xff for CTL service.
|
| transactionIdLock |
- Mutex to make transactionId access thread-safe.
|
| transactionPool |
- Pool of transaction objects which may be assigned to QMI requests made by clients of this service.
|
| transactionPoolLock |
- Mutex to make transactionPool access thread-safe
|
| pIndicationCallback |
- User callback for QMI indications of this service.
|
| pIndicationCallbackContext |
- User context for user callback.
|
| deviceFd |
|
| pQcqmitransport |
- Pointer to QMI service transport object.
|